﻿//namespace FFF.Test.Application.AppServices.Demo
//{
//    using System;
//    using System.Collections.Generic;
//    using System.Globalization;
//    using System.Text;
//    using System.Threading.Tasks;
//    using Abp.Application.Services;
//    using Abp.Application.Services.Dto;
//    using Abp.Authorization;
//    using Abp.UI;
//    using Microsoft.AspNetCore.Authorization;
//    using Microsoft.AspNetCore.Mvc;
//    using FFF.Test.Application.DomainServices;
//    using FFF.Test.Application.DomainServices.Demo;
//    using FFF.Test.Application.Repositories.Demo;
//    using FFF.Test.Entity.Demo;
//    using FFF.Test.Entity.Demo.Dto;

//    /// <summary>
//    /// 学生应用层服务接口
//    /// </summary>
//    public interface ITemplateAppService :
//        IYdmAbpCurdAppService<DMStudentEntity, long, DMStudentCreateInputDto, DMStudentUpdateInputDto, DMStudentDto>
//    {
//    }

//    /// <summary>
//    /// 学生应用层服务
//    /// </summary>
//    [ApiVersion("2")]
//    public class MyTemplateAppService : YdmAbpAppServiceBase, ITemplateAppService
//    {
//        private readonly IDMStudentDomainService _dMStudentDomainService;

//        private readonly IDMStudentRepository _dMStudentRepository;

//        /// <summary>
//        /// Initializes a new instance of the <see cref="MyTemplateAppService"/> class.
//        /// 构造方法
//        /// </summary>
//        /// <param name="dMStudentRepository">学生仓储</param>
//        /// <param name="dMStudentDomainService">学生领域层</param>
//        public MyTemplateAppService(
//            IDMStudentRepository dMStudentRepository,
//            IDMStudentDomainService dMStudentDomainService)
//        {
//            this._dMStudentRepository = dMStudentRepository;
//            this._dMStudentDomainService = dMStudentDomainService;
//        }

//        #region 框架方法

//        /// <summary>
//        /// 获取所有的学生dto
//        /// </summary>
//        /// <returns>所有的学生的dto</returns>
//        public List<DMStudentDto> GetAllListDto()
//        {
//            var dtoList = this._dMStudentRepository.GetAllListDtoAsync().Result;
//            return dtoList;
//        }

//        /// <summary>
//        /// 获取单个的dto
//        /// </summary>
//        /// <param name="primaryKey">主键</param>
//        /// <returns>单个对象的dto</returns>
//        [Authorize(Roles = "admin")]
//        public DMStudentDto GetDto(long primaryKey)
//        {
//            var dto = this._dMStudentRepository.GetDtoAsync(primaryKey).Result;
//            return dto;
//        }

//        /// <summary>
//        /// 获取分页的信息
//        /// </summary>
//        /// <param name="pagedInputDto">分页输入的Dto</param>
//        /// <returns>分页信息</returns>
//        public MyPagedResult<DMStudentDto> GetPage(PagedInputDto pagedInputDto)
//        {
//            var pagedResult = this._dMStudentRepository.GetPageAsync(pagedInputDto).Result;
//            return pagedResult;
//        }

//        /// <summary>
//        /// 创建实体
//        /// </summary>
//        /// <param name="input">创建输入实体</param>
//        /// <returns>输出dto</returns>
//        public DMStudentDto CreateByDto(DMStudentCreateInputDto input)
//        {
//            var dto = this._dMStudentRepository.CreateByDtoAsync(input).Result;
//            return dto;
//        }

//        /// <summary>
//        /// 更新实体
//        /// </summary>
//        /// <param name="input">更新的实体的对象</param>
//        /// <returns>更新后的对象</returns>
//        public DMStudentDto UpdateByDto(DMStudentUpdateInputDto input)
//        {
//            var dto = this._dMStudentRepository.UpdateByDtoAsync(input).Result;
//            return dto;
//        }

//        /// <summary>
//        /// 皮皮昂删除
//        /// </summary>
//        /// <param name="ids">多个id</param>
//        public void BatchDelete(params long[] ids)
//        {
//            this._dMStudentRepository.BatchDeleteAsync(ids).Wait();
//        }

//        /// <summary>
//        /// 单个删除
//        /// </summary>
//        /// <param name="id">实体的id</param>
//        public void Delete(long id)
//        {
//            this._dMStudentRepository.DeleteByIdAsync(id).Wait();
//        }
//        #endregion
//    }
//}
